본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Overfitting Problem
학습을 과하게 시켜 학습 데이터에선 최적의 결과를 내지만 새로운 데이터에 대해선 판단력이 부정확해지는 문제

  • 다양한 데이터 추가
  • 드롭 아웃(Drop Out)
  • 조기 중단(Early Stop)
  • 제한된 볼츠만 머신(Restricted Boltzman Machine, RBM)
  • 5가지 종의 강아지 사진 10만장으로 학습을 오랫동안 시킬 경우
    • 정확히 5가지 종에 일치하는 강아지에 대해서만 강아지라고 판단
    • 3가지 종의 강아지 사진 1만장으로 가볍게 학습을 시킨 경우 오히려 정확도가 높을 수 있음
  • 이세돌vs알파고 4국에서 79수 부터
    • 이기는 수에 대해서만 학습을 한 알파고는 이길 수 있는 수가 없자 '최선'의 수가 아닌 알 수 없는 수를 둠
구분 편향(Bias) 분산(Variance) 모델
과소적합 크다 작다 너무 단순하다
과적합 작다 크다 필요 이상으로 복잡하다
  • 과적합 모델은 학습 데이터에 대한 성능은 우수하지만 새 데이터에 대한 성능(일반화)이 나쁘다.
  • 분산이 높은 모델은 과적합 가능성이 높고, 편향이 높은 모델은 과적합 가능성이 낮다. "과적합 모델은 편향이 크다" 는 틀리다.
  • 학습 데이터의 SSE(오차제곱합)가 작다는 것만으로 항상 과적합이라고 할 수는 없다. 검증 데이터의 오차도 함께 작으면 잘 맞는 모델이다.
  • 줄이는 방법: 규제(정규화, L1·L2 → LASSO·Ridge), 변수 수 줄이기, 드롭아웃, 조기 종료, 교차검증, 데이터 늘리기

규제 기법과 비슷해 보이는 용어

편집 원본 편집

과적합을 막는 기법은 모두 모델이 학습 데이터를 외워 버리지 못하게 한다는 점에서 같은 계열(규제, regularization)이다.

  • 드롭아웃 : 학습할 때마다 일부 뉴런을 임의로 끈다. 매번 조금씩 다른 신경망을 학습하는 셈이라 특정 뉴런에 의존하지 않게 된다.
  • 데이터 증강(Data Augmentation) : 이미지를 회전·뒤집기·자르기·밝기 조절하는 식으로 학습 데이터를 변형해 늘린다. 같은 대상을 여러 모습으로 보게 해 학습 데이터에만 맞는 것을 막으므로, 드롭아웃과 같은 과적합 방지(일반화) 효과를 낸다.
  • 배치 정규화 : 층마다 입력을 미니배치 단위로 정규화해 학습을 안정시킨다. 부수적으로 규제 효과가 있다.
  • 가중치 규제 : 손실 함수에 가중치 크기 벌점을 더한다(L1 정규화·L2 정규화).
  • 조기 종료 : 검증 오차가 다시 커지기 시작하면 학습을 멈춘다.

다음은 이름이 비슷하게 나오지만 과적합 방지 기법이 아니다.

용어 실제 역할
풀링(Pooling) 합성곱 신경망에서 특징 맵을 최댓값·평균값으로 요약해 크기를 줄이는 다운샘플링
패딩(Padding) 합성곱 전에 입력 가장자리에 0 등을 채워 출력 크기를 유지하고 가장자리 정보를 살린다
커널 트릭(Kernel Trick) 서포트 벡터 머신에서 데이터를 고차원으로 직접 옮기지 않고 커널 함수로 내적만 계산해 비선형 분류를 하는 방법

모델을 복잡하게 할수록 편향은 줄고 분산은 커지므로(편향-분산 상충), 규제는 분산을 줄이는 대신 편향을 조금 늘리는 쪽으로 균형을 잡는 일이다.